package org.Iteration6.persistencia;

import java.util.LinkedList;
import org.Iteration6.dominio.Personaje;

/* 2.2 version */

public class Agente {

	private static Agente instancia;
	
	/* singleton pattern */
	public static Agente getAgente() {
		
		if (instancia==null)
			instancia = new Agente();
		
		return instancia;
	}
	
	public static LinkedList<Personaje> getPersonajes() {
		/* persistence is simulated from now on.
		 * Real persistence will be implemented by
		 * owner codification in Iteration 7, 
		 * through a subcontract.
		 * So now this class is a skeleton;
		 * PERSISTENCE SIMULATION IS IN DOMAIN PART.
		 * 
		 */
		
		return null;
	}
	
	public static LinkedList<String> getObjetos() {
		/* persistence of objects is simulated here.
		 * Must to replace while Iteration 7. 
		 */
		LinkedList<String> objetos = new LinkedList<String>();
		
		objetos.add("Poción");
		objetos.add("Espada de madera");
		objetos.add("Espada de hierro");
		objetos.add("Espada de obsidiana");
		objetos.add("Arco");
		objetos.add("Carne podrida");
		objetos.add("Mapa");
		
		return objetos;
	}
	
	public static void escribirPersonaje(Personaje personaje) {
		if(exists(personaje))
			/* to do in Iteration 7 */;
		else
			/* to do in Iteration 7 */;
	}
	
	public static void eliminarPersonaje(Personaje personaje) {
		/* to do in Iteration 7 */
	}
	
	private static boolean exists (Personaje personaje) {
		/* to do in Iteration 7 */
		return false;
	}
	
}
